package com.mnyc.system.service;


import com.mnyc.system.domain.SysFileInfo;

import java.util.List;

/**
 * 文件信息Service接口
 *
 * @author ruoyi
 * @date 2022-06-10
 */
public interface ISysFileInfoService {
    /**
     * 查询文件信息
     *
     * @param fileId 文件信息主键
     * @return 文件信息
     */
    SysFileInfo selectSysFileInfoByFileId(Long fileId);

    /**
     * 查询文件信息列表
     *
     * @param sysFileInfo 文件信息
     * @return 文件信息集合
     */
    List<SysFileInfo> selectSysFileInfoList(SysFileInfo sysFileInfo);

    /**
     * 新增文件信息
     *
     * @param sysFileInfo 文件信息
     * @return 结果
     */
    int insertSysFileInfo(SysFileInfo sysFileInfo);

    /**
     * 修改文件信息
     *
     * @param sysFileInfo 文件信息
     * @return 结果
     */
    int updateSysFileInfo(SysFileInfo sysFileInfo);

    /**
     * 批量删除文件信息
     *
     * @param fileIds 需要删除的文件信息主键集合
     * @return 结果
     */
    int deleteSysFileInfoByFileIds(Long[] fileIds);

    /**
     * 删除文件信息
     *
     * @param sysFileInfo 文件信息
     * @return 结果
     */
    int deleteSysFileInfo(SysFileInfo sysFileInfo);


    /**
     * 更新一个附件
     *
     * @param businessId
     * @param businessType
     * @param childType
     * @param fileListStr
     */
    void saveOrUpdateFiles(String businessId, String businessType, String childType, String fileListStr);


    /**
     * 更新一个附件
     *
     * @param businessId
     * @param businessType
     * @param childType
     * @param fileList
     */
    void saveOrUpdateFiles(String businessId, String businessType, String childType, List<SysFileInfo> fileList);

    /**
     * 查询文件信息
     *
     * @param businessType
     * @param businessId
     * @param childType
     * @return
     */

    List<SysFileInfo> selectSysFilelist(String businessType, String businessId, String childType);

}
